use std::thread;
use std::time::Duration;

// 闭包在并发编程中也非常有用。例如，thread::spawn 函数接受一个闭包作为参数：
#[test]
fn test_closure_thread() {
    let x = 5;
    // 在这个例子中，move 关键字用于将 x 的所有权转移到闭包中，以便在另一个线程中使用。
    let handle = thread::spawn(move || {
        thread::sleep(Duration::from_secs(2));
        println!("x = {}", x);
    });
    handle.join().unwrap();
}